草庐IT

MySQL IF THEN 在 WHERE 子句中

全部标签

mysql - 创建 IF 语句 if "Variable"!= NULL then WHERE 子句

如果变量为空,我想要一个查询让我从表中选择所有,我在这里唯一的选择是PUREMYSQL这是我的代码SELECT*FROMtblPersonalDataif(VARIABLE!=null,WHEREStudno=VARIABLE},'all') 最佳答案 很简单的OR操作:select*fromtblPersonalDatawherevariableisnullorstudNo=variable; 关于mysql-创建IF语句if"Variable"!=NULLthenWHERE子句,我们

php - Laravel 5.4 在不使用 where 子句的情况下更新表中的所有记录

我正在尝试使用Laravel5.4中的单个Eloquent查询更新表中的所有记录Currency::update(['default'=>0]);我期望此查询将更新表中的所有记录,但此查询不起作用。它需要where子句,我不想​​使用where子句放置任何条件,我只想更新表中的所有记录。我没有从laravel文档中得到任何答案。表格结构 最佳答案 MySQL有一个安全的更新服务器模式,除非语句有涉及主键的WHERE子句,否则不允许更新发生。如果您的MySQL在这种模式下运行,那么一种欺骗它的方法是使用WHEREid=id,如下所示:

mysql - 如何修复程序中的 "ambiguous"where 子句

我收到一个错误:1052-Column'orderId'inwhereclauseisambiguous尝试执行CALLGetOrderById(2000)时BEGINSELECThsorders.*,hslineitem.partNum,hslineitem.priceFROMhsordersJOINhslineitemONhslineitem.orderId=hsorders.orderIdWHEREorderId=orderId;END我需要传递一个Id并连接两个具有相同`orderId``的表中的数据。我做错了什么? 最佳答案

MySQL 使用 BETWEEN 子句返回错误结果

我正在使用以下查询从mysql数据库中获取数据,但我得到了错误的数据。我想显示从1990年到2000年的release_year,但它向我显示了所有内容。SELECTtitle,release_yearFROMFILMSWHERErelease_yearBETWEEN1990AND2000ANDbudget>1000000000ANDlanguage='Spanish'ORlanguage='French';我试图调换查询的顺序,但它似乎不起作用,或者我尝试向release_yearbetween1990AND2000添加括号。 最佳答案

MySQL: "Column ' column_name' in where 子句不明确”

我加入了2个表例如table_A+---------+-----------+-----------+|user_id|ticket_id|user_name|+---------+-----------+-----------+table_B+-----------+-------------+|ticket_id|ticket_name|+-----------+-------------+如果我运行以下查询:SELECTtable_A.user_id,table_A.user_name,table_B.ticket_nameFROMtable_ALEFTJOINtable_BON

php - Mysql PDO 中 "RETURNING"子句的语法

我正在尝试添加一条记录,同时返回添加的那条记录的ID。我读到可以使用RETURNING子句来实现。$stmt->prepare("INSERTINTOtablename(field1,field2)VALUES(:value1,:value2)RETURNINGid");但是当我添加RETURNING时插入失败。在要添加到的表中有一个名为id的auto-incremented字段。有人能看出我的语法有什么问题吗?或者PDO可能不支持RETURNING? 最佳答案 我觉得跟PDO支持不支持没有关系。RETURNING受Oracle和P

带有where子句的mysql插入命令

我试图将数据插入数据库中的特定行,但我的mysql说这是一个错误:INSERTINTOuser(rep,course)VALUES('5','computerscience')WHEREuser='2' 最佳答案 UPDATEuserSETrep='5',course='computerscience'WHEREuser='2'Linktodocs. 关于带有where子句的mysql插入命令,我们在StackOverflow上找到一个类似的问题: https

sql - MySQL - 来自 'SELECT WHERE STH' 和 'SELECT WHERE NOT STH' 的结果不求和为完整表

这两个查询的结果怎么可能:SELECT*FROM`workers`WHERE`name`='Smith`和SELECT*FROM`workers`WHERENOT`name`='Smith`不对整个表workers求和吗? 最佳答案 因为NULL在name字段不会进入任何一个查询。三元逻辑SQL使用,NULL='Smith'和NOTNULL='Smith'两者都评估为NULL并被过滤掉。使用NULL-安全比较运算符,:SELECT*FROM`workers`WHERE`name`'Smith`和SELECT*FROM`workers

mySQL(和 MSSQL),在 where 子句中同时使用索引列和非索引列

我使用的数据库目前是mySQL,但以后可能是MSSQL。我的问题是关于mySQL和msSQL如何处理索引列和非索引列。假设我有一个像这样的简单表格:*table_ID-自动增加。只是一个ID,索引。*table_user_ID-每个用户都有一个唯一的ID索引*table_somOtherID-一些数据..*....可以说我有很多!!这个表的行数,但是每个用户添加到这个表的行数很少(10-100)我想在这个表中找到一个或几个特定的​​行。来自特定用户的一行或多行(索引列)。如果我使用以下WHERE子句:.....WHEREtable_user_ID='someID'ANDtable_so

php - 使用 WHERE 选择所有内容

我目前正在处理一个存在多个访问权限的PHP项目。逻辑很简单:-当您的访问级别为2时,您只能看到自己的项目列表-当您的访问级别为3时,您可以看到所有项目所以在SQL中:第一个:SELECTproject_nameFROMprojects第二个:SELECTproject_nameFROMprojectsWHEREuser_id=user_id问题是我将PDO与准备好的语句一起使用,并且此类查询在脚本中多次执行。这是它的样子:if($_SESSION['access_level']==3){$sql="SELECTproject_nameFROMprojects";}else{$sql="